Within the modern network space, the Synchronous Optical Network (SONET)/Synchronous Digital Hierarchy (SDH) protocol is becoming increasingly popular as a mechanism for data transport. In this respect, SDH is the European equivalent of the SONET transmission standard. Accordingly, all references in this application to SONET should be understood to also refer to SDH.
A significant amount of SONET/SDH infrastructure has been installed, particularly within the network core. This SONET infrastructure is used to transport asynchronous subscriber signal traffic having differing formats, such as Asynchronous Transfer Mode (ATM), Internet Protocol (IP), etc. In order to facilitate this functionality, various known methods are provided for mapping the asynchronous subscriber traffic into Synchronous Transfer Signal (STS/STM) frames for transport across the SONET infrastructure, and then extracting the subscriber traffic out of the STS to recover the original subscriber signal format.
FIG. 1 is a block diagram schematically illustrating principal operations of conventional transmitting and terminating nodes 2 and 30 of an optical communications system. As shown in FIG. 1, asynchronous subscriber traffic within multiple tributaries 4 is received by the transmitting node 2 and buffered in an elastic store 6. The traffic may comprise any arbitrary mix of signals, including DS-1, DS-3 and E1 traffic. Traffic within each tributary 4 is normally stored in a respective First-In-First-Out (FIFO) buffer 8. The timing of this buffering operation is controlled by a data clock signal 10 having a frequency f1 generated by a tributary clock recovery circuit 12 in a manner well known in the art. A synchronizing framer 14 reads data from each FIFO 8, and maps the read data into corresponding tributaries of a number of SONET Synchronous Payload Envelopes (SPEs) 16, using a known format such as those defined in the SONET standard. Each SPE 16 is then passed to a channel transmitter (Tx) 18, which inserts the SPEs into an STS frame 20, and then modulates the STS frame 20 onto an optical channel carrier for transmission through the optical network. A Tx local clock 22, which is synchronous with a SONET Primary Reference 24, generates a respective TX local clock signal 26 having a frequency f2, which is used to control operation of the synchronizing framer 14 and channel Tx 18.
Normally, a respective FIFO-fill signal 28 is generated for each tributary FIFO 8, and used to control the insertion of stuff bytes into the corresponding SPE tributary.
At the terminating node 30, the incoming STS 20 is decoded by a channel receiver (Rx) 32 and processed by a pointer processor 34 to demap each SPE tributary from the STS 20. Thus, stuff bytes are stripped out of each tributary, and the remaining subscriber data stored in a respective tributary FIFO 36 of an elastic store 38. An Rx local clock signal 40, having a frequency f3 which is preferably referenced to the SONET Primary Reference 24, is supplied to a desynchronizer Phase locked Loop (PLL) 42. A FIFO-fill signal 44 generated by the tributary FIFO 36 is used to steer the Phase locked Loop (PLL) 42, so that the PLL output constitutes a recovered data clock signal 46 having a frequency f4 which approximates the data rate of the tributary 4 subscriber traffic. As a result, by reading data from the tributary FIFO 36 at a timing of the recovered data clock 46, a desynchronizer framer 48 can generate a recovered subscriber signal 50 in which the original timing is closely approximated.
For cases in which the channel line rate is equal to or greater than the subscriber data rate (i.e. for f1≦f2), the introduction of stuff bytes by the synchronizing framer 14 enables the synchronizing and desynchronizing framers 14 and 48 to compensate differences between the tributary data rate and the channel rate. However, this mapping technique suffers a limitation in that the FIFO-fill signals 28 and 44 in the Tx and Rx tend to vary in a step-wise manner as stuff bytes are inserted and striped from SPE tributaries. This causes waiting time jitter in the recovered subscriber signal 50.
In most situations, the amount of waiting time jitter introduced by mapping and demapping asynchronous client signal traffic to and from STS frames does not create any difficulties. However, if the timing of the subscriber signal is critical, such as an HDTV signal or a subscriber-originated SONET signal (e.g. for SONET over SONET applications) the introduced jitter can noticeably degrade the quality of the subscriber's signal. Accordingly, there is interest in methods that enable subscriber traffic to be transparently mapped on to SONET STS signals. An important aspect for transparency is to preserve the original timing information of the subscriber signal.
Known methods of reducing waiting time jitter include filtering the FIFO fill 44 using a low-pass filter 52, and/or introducing a “dead-band” (not shown) in the desynchronizer PLL 42. Such a dead-band is used to attenuate the response of the PLL 42 to changes in the FIFO fill signal 44 corresponding to removal of stuff bytes. A limitation of this approach is that it only works for a limited range of tributary data and local clock frequencies. In fact, actual elimination of waiting time jitter by this approach requires that
                    f        ⁢                                  ⁢        1                    f        ⁢                                  ⁢        2              =                            f          ⁢                                          ⁢          1                          f          ⁢                                          ⁢          3                    =      1        ,in which case no rate adaptation is taking place. Use of frequency dividers and multipliers within the Tx and Rx enable other (more useful) frequency ratios (such as, for example
                    nf        ⁢                                  ⁢        1                    mf        ⁢                                  ⁢        2              ≈                  nf        ⁢                                  ⁢        1                    mf        ⁢                                  ⁢        3              ≈    1    ,where n and m are positive integers) to be employed. However, the utility of this approach is still restricted to a very limited set of discrete frequency ratios, and these ratios must be known at the time of installation of the Tx and Rx equipment. In many cases, it is desirable to be able to perform rate adaptation across a wide range of different frequency ratios, which may or may not be known in advance.
Applicant's co-pending U.S. patent application Ser. No. 09/972,686 (Roberts et al.), entitled Method and Apparatus for Digital Data Synchronization, which was filed on Oct. 9, 2001, teaches a method of rate adapting an asynchronous subscriber signal on to SONET STS frames without incurring waiting time jitter, by measuring the phase and frequency of the (asynchronous) subscriber signal and encoding this information into the frame overhead. Thus, as shown in FIG. 2, a multi-bit digital timing estimate (Fs) is calculated (at 54) to indicate the difference between the tributary data rate f1, and the Tx local clock frequency f2. In the embodiment of FIG. 2, the timing estimate Fs is computed as a ratio between f1 and f2. In other embodiments, the timing estimate Fs may be computed as a phase difference between the data clock signal 10 and the Tx local clock signal 26, calculated at the time that a corresponding tributary data block is mapped into the SPE. In either case, the timing estimate Fs is supplied to the synchronizing framer 14 and used in place of the FIFO-fill 28 to control the insertion of stuff bytes into the SPE tributary. The timing estimate Fs is also inserted into the SPE tributary and conveyed with the subscriber data to the terminating node 30.
At the terminating node 30, the pointer processor 34 demaps each SPE tributary, and extracts the timing estimate Fs. The timing estimate Fs extracted from the SPE tributary is used in place of the FIFO-fill signal 44 to steer the desynchronizer Phase locked Loop (PLL) 56. Consequently, the PLL output constitutes a recovered data clock signal 58 having a frequency f4 which more closely approximates the original frequency f1 of the subscriber traffic. As a result, by reading subscriber data from the tributary FIFO 36 at a timing of the recovered data clock 58, the desynchronizer framer 48 can generate a recovered subscriber signal 50 in which the original timing is substantially restored.
Applicant's co-pending U.S. patent application Ser. No. 10/609,562 (Roberts et al.), entitled Digital Processing Of SONET Pointers, teaches an improved version of the system of U.S. patent application Ser. No. 09/972,686 (Roberts et al.), in which pointer processing is used to address timing artefacts arising from a frequency difference (Δf) between the Tx and Rx local clock signals 26 and 40. Such a situation may, for example, arise in cases where the transmitting and receiving nodes 2 and 30 are located in different SONET islands.
Referring now to FIGS. 3 and 4, in the systems of Applicant's co-pending U.S. patent application Ser. Nos. 09/972,686 and 10/609,562, it is convenient to calculate the timing estimate Fs using a detection circuit 60 to compute successive samples of the frequency ratio f1/f2 from the data clock signal 10 and the Tx local clock signal 26, and then latching the frequency ratio samples into a digital Phase Locked Loop (PLL) 62. The PLL output is then accumulated over a predetermined period (at 64), and the result scaled (at 66) to yield successive values of the timing estimate Fs.
One method of implementing the detection circuit 60 is by over-sampling (at 68) the instantaneous phase of the data clock 10, relative to the local Tx clock 26, at a rate of N (e.g. N=8) times the local Tx clock 26. The individual phase samples are accumulated (at 70) over a predetermined number of samples (e.g. one cycle of the local Tx clock 26), to yield an incremental phase difference value pi, which is proportional to the frequency ratio f1/f2 over that clock cycle. As may be seen in FIG. 4, integrating the successive incremental phase difference samples pi output by the detection circuit 60 yields a “stair-case” function of the accumulated phase difference vs. time, the mean slope of which is directly proportional to the ratio f1/f2 between the data clock 10 and the local Tx clock 26. The phase detection circuit 60 output is periodically latched into the PLL 62, e.g. at a timing of the local Tx clock 26, as the phase measurement pi.
In general, the PLL 62 implements a low-pass filter function having a wide bandwidth, which produces a multi-bit predicted timing estimate (Fp) which is proportional to the frequency ratio f1/f2, from the successive pi samples output by the detection circuit 60. At the PLL input, the predicted timing estimate Fp is subtracted from the incremental phase difference sample pi obtained from the detection circuit 60, to obtain a corresponding incremental phase error value, which is integrated (at 72) to yield a phase error signal 74, which is then scaled (at 76), filtered by a loop filter 78 and a low pass filter 80 and then added (at 81) to an expected average frequency ratio (F) to yield an updated predicted timing estimate Fp 82 at the PLL output. Accumulating and scaling the predicted timing estimate Fp values (at 64 and 66) yields successive values of the timing estimate Fs. The update rate of the PLL 62 may be derived from the local Tx clock 26.
The arrangement of FIG. 3 is advantageous in that it can reliably calculate a mutibit value of the timing estimate Fs over a very wide (and substantially continuous) range of frequency differences (or ratios) between the data clock signal 10 and the Tx local clock signal 26.
However, experience with this system has brought to light a limitation in that calculation of the timing estimate Fs is subject to error due to ambiguity in the incremental phase difference measurement pi output from the detection circuit 60. A first source of such ambiguity is quantization error of the phase measurement obtained by the phase detector 68. Quantization errors are well understood in the art. A more subtle source of phase ambiguity is the lag ΔT between the time Tmeasure when the phase difference measurement pi is actually obtained by the detection circuit 60, and the time Tlatch when the measured value is latched into the PLL. If this lag was a constant value, then it would have no significance in the calculation of the timing estimate Fs. However, in practice the lag ΔT is found to vary in time, over a range of a clock cycle. As a result, each incremental phase measurement pi lies within a “zone of ambiguity” 84, as shown in FIG. 4, and it is generally not possible, based on the phase measurement itself, to resolve the actual incremental phase difference within this zone. However, because of its wide bandwidth, the PLL 62 is highly sensitive to this phenomena. In particular, errors in the phase measurement pi (due to ambiguity and noise) propagate through the PLL 62 and produce spurious excursions in the timing estimate Fs. This is true even when the PLL 62 is phase-locked to the input (i.e. the phase difference) signal. Since the timing estimate Fs is used to steer the desynchoniser PLL 56, any errors in the timing estimate Fs produces corresponding errors in the frequency f4 of the recovered data clock signal 58, and consequent timing jitter in the recovered signal 50.
It should be noted that this problem does not only occur at the transmitter, but also occurs at each node that bridges between different reference clock domains. Thus, for example, this problem will occur at boundaries between SONET islands.
Accordingly, methods and apparatus for reducing jitter by minimizing effects of phase measurement ambiguities are highly desired.